package com.uminho.egendme;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
import android.util.Log;

import com.uminho.http.InternalStorage;

/****c* egendme/Settings 
 * DESCRIPTION
 * Classe responsável por oferecer suporte à actividade de Preferências 
 *
 ****
 */


public class Settings extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener{
	final String PREFS = "prefs";
	
	/****f* Settings/onCreate
	 * DESCRIPTION
	 * Método executado para criar a actividade
	 * INPUTS
	 * Estado da aplicação
	 * RESULT
	 * Actividade criada
	 *
	 ****
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.settings);
		//Add listner to logout button
		Preference myPref = (Preference) findPreference(getString(R.string.logout_key));
		myPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
		             public boolean onPreferenceClick(Preference preference) {
		            	 setResult(2);
		            	 InternalStorage.goLoggin(Settings.this);
		            	 //finish();
		            	 return true;
		             }
		         });
		
	}
	
	/****f* Settings/onSharedPreferenceChanged
	 * DESCRIPTION
	 * Método executado quando alguma das preferências da aplicação são alteradas
	 * INPUTS
	 * O objeto com as preferências e a chave da preferência que foi alterada
	 *
	 *
	 ****
	 */
	public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
			String key) {
		Log.d("Preferences", "Changed: "+key);
		Intent i = new Intent(this, Notifications.class);
		startService(i);
	}
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	    super.onActivityResult(requestCode, resultCode, data);
	    //TODO handle here. 
	}
	@Override
	protected void onStop() {
	    // TODO Auto-generated method stub
	    //setResult(2);
	    super.onStop();
	}
	@Override
	protected void onDestroy() {
	    // TODO Auto-generated method stub
	    Log.d("Settings", "finish");
	    super.onDestroy();
	}
	 @Override
	    protected void onResume() {
	        super.onResume();
	        // Set up a listener whenever a key changes
	        getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
	    }

	    @Override
	    protected void onPause() {
	        super.onPause();

	        // Unregister the listener whenever a key changes
	        getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
	    }
}
